Qt5.4文档翻译:QCoreApplication类,QCoreApplication Class
将路径( path )放置到库路径列表的开头,确保在搜寻库的过程中首先在这个路径中进行搜索。如果 path 为空或者已经存在于路径列表中,则,路径列表不会被改变。
默认 的路径列表中只包含着一个条目,即为插件 的安装目录。插件 的默认安装目录是 INSTALL/plugins ,其中, INSTALL 是 Qt 的安装目录。
参考 removeLibraryPath () 、 libraryPaths () 和 setLibraryPaths () 。
返回此应用程序的当前进程编号(ID)。
这个函数是从Qt 4.4 开始引入的。
如果该应用程序在UNIX 平台上被允许执行setuid,则返回真(true)。
这个函数是从Qt 5.3 开始引入的。
参考 QCoreApplication::setSetuidAllowed () 。
将事件 event 发送给接收者 receiver : receiver->event(event)。返回由接收者的事件处理器所返回的值。注意,对于发送任意线程中任意对象的所有事件,都会调用此函数。
对于特定类型 的事件 (例如 ,鼠标和键盘事件 ) ,如果接 收表示对该事件不感兴趣( 也就是说,它返回假( false ) ),则,事件会被传递给其亲代对象,并在同样的条件下会继续向上传递直到达到最顶级的对象。
要想处理事件,一共有五种不同的方式;其中之一便是覆盖这个虚函数。以下列出所有5种处理方式:
1. 覆盖 paintEvent() 、 mousePressEvent() 等等 。 这是最常见、最简单也最弱小的方式。
2.覆盖本函数。这种方式功能强大,提供了完整的控制;但是,每次只能有一个子类处于活跃状态。
3. 在 QCoreApplication::instance ()上安装一个事件过滤器。 这种一个事件过滤器能够处理针对所有部件的所有事件 ,因此, 它的强大程度与覆盖notify()的方式相同;并且 ,能够安装多个全局 的事件过滤器。全局 的事件过滤器能够接收 到针对 处于禁用状态 的部件 的鼠标事件。注意 ,应用程序 的事件过滤器,只会在遇到针对主线程中的对象的事件时才会被调用。
4. 覆盖 QObject::event () ( QWidget 就是这么干的 ) 。如果 妳这么干的话, 妳会接收到制表 符 (Tab) 按键的事件,并且 会在任何 与部件相关的事件过滤器之前接收 到事件。
5.在目标对象上安装一个事件过滤器。这样一个事件过滤器,能够接收到所有的事件,包括制表符(Tab)和制表符反向(Shift+Tab)按键事件,嘦它们不会改变焦点部件即可。
参考 QObject::event () 和 installNativeEventFilter () 。
将事件 event 加入到一个事件队列并且立即返回,对象 receiver 会被设置为该事件的接收者。
此事件必须在堆上分配,因为,投递事件队列会获取该事件的所有权并且在它被投递之后删除它。在事件被投递之后再访问它,是 不安全的 。
当控制权回到主事件循环的时候,队列 中存储的所有事件都会通过 notify ()函数来发送。
事件 会按照优先 级 priority 以降序排列, 也就是说,具有较高优先 级的事件会排在较低优先级的事件之前。优先 级 priority 可以是任何整数值, 也就是说, INT_MAX 和 INT_MIN之间 的整数值,并且包括这两个值;参考 Qt::EventPriority 以了解更多信息。具有相同优先 级的事件,会按照投递的顺序来处理。
注意 : 这个函数是 线程安全的 。
这个函数是从Qt 4.3 开始引入的。
参考 sendEvent () 、 notify () 、 sendPostedEvents () 和 Qt::EventPriority 。
将翻译文件 translationFile 从这个应用程序所使用的翻译文件列表中删除。(它并不会从系统中删除该文件。)
如果成功 则返回真( true ),失败则返回假(false)。
参考 installTranslator () 、 translate () 和 QObject::tr () 。
如果allow 为真(true),则允许这个应用程序在UNIX 平台上执行setuid。
如果 allow 为假(false)(默认值),并且Qt 检测到当前程序是以一个与实际用户编号不同的用户编号来运行的,那么, 当有一个 QCoreApplication 实例被创建时,应用程序会被终止(aborted)。
由于Qt本身 有着巨大的攻击面(attack surface),所以,它不适合于用来开发setuid 程序 。然而 ,由于历史原因,某 些应用程序需要以这种方式运行。 这个标志位会阻止 Qt 在探测到这种情况时终止程序, 而它本身也要在创建 QCoreApplication 实例之前设置。
注意 :强烈建议妳不要启用这个选项,因为它带来了安全风险。
此函数是从Qt 5.3 开始引入的。
参考 isSetuidAllowed () 。
https://twitter.com/nisopict_bot_kr/status/416476186164752384/photo/1
Your opinions
HxLauncher: Launch Android applications by voice commands